﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DGZImp.AdsProject.Dtos
{
    public class AbnormalTypeDto
    {
        /// <summary>
        /// 异常类型ID
        /// </summary>
        public long AbnormalTypeId { get; set; }
        /// <summary>
        /// 异常编码
        /// </summary>
        public string AbnormalCode { get; set; }
        /// <summary>
        /// 异常名称
        /// </summary>
        public string AbnormalName { get; set; }
        /// <summary>
        /// 优先级
        /// </summary>
        public int Priority { get; set; }
        /// <summary>
        /// 父节点ID
        /// </summary>
        public long? ParentId { get; set; }
        /// <summary>
        /// 子节点
        /// </summary>
        public List<AbnormalTypeDto> Children { get; set; } = new List<AbnormalTypeDto>();
    }

    public class AbnormalTypeDetailDto
    {
        /// <summary>
        /// 异常类型ID
        /// </summary>
        public long AbnormalTypeId { get; set; }
        /// <summary>
        /// 父节点ID
        /// </summary>
        public long? ParentId { get; set; }
        /// <summary>
        /// 异常编码
        /// </summary>
        public string AbnormalCode { get; set; }
        /// <summary>
        /// 异常名称
        /// </summary>
        public string AbnormalName { get; set; }
        /// <summary>
        /// 隶属部门
        /// </summary>
        public string Depts { get; set; }
        /// <summary>
        /// 优先级
        /// </summary>
        public int Priority { get; set; }
        /// <summary>
        /// 部门ID
        /// </summary>
        public string ResponsibleDept { get; set; }
        /// <summary>
        /// 人员ID列表
        /// </summary>
        public string ResponsiblePersons { get; set; }
        /// <summary>
        /// 超时配置列表
        /// </summary>
        public List<TimeoutAlertDto> TimeoutAlerts { get; set; } = new List<TimeoutAlertDto>();
    }

    public class keyValueDto
    {
        public string key { get; set; }
        public string value { get; set; }
    }
}
